(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "Hacks and Mods"

Electronic Timer for a Dishwasher 



.1 



Make Projects 



build, hack, tweak, share, discover. 



Electronic Timer for a 
Dishwasher 

Written By: Miguel Marcos 

SUMMARY 

WARNING: The circuits shown herein do not provide isolation from the AC mains, and 
therefore any part of the circuit can be exposed to dangerous voltages relative to earth 
ground. Extreme care must be observed in testing or handling these circuits while connected 
to the powerline. 

AM486 appliance modules are essentially relays that are rated for 120V/15A and thus they 
are well suited to the task at hand. These relays are of a bi-stable design, meaning that they 
require no holding current to remain either open or closed but additional circuitry is required 
to determine their current state. 

For this project one relay was allocated to each of the functions in the dishwasher which are: 

pump motorwater filldrainsoap dispenser #1soap dispenser #2blower motor 



© Make Projects www.makeprojects.com Page 1 of 4 



Electronic Timer for a Dishwasher 



Step 1 — Electronic Timer for a Dishwasher 



—MM- 



^ 



-W/r 




■ -■ ■■ A- 






GND GND GND 



CONTROL uH°5| /5 



■vw- 






_ss 



r 









■:■■...■ 


..'■■i 


GND GND 






















a 








_, 






Fl INHTION 




_L 


' 









t 



• The first step consisted in 
performing a reverse-engineering 
analysis of the circuitry used on 
the AM486 modules. 

• The PCB uses a single copper 
layer which makes it very easy to 
trace the circuit. My analysis was 
confined to these areas: Power 
supply; Relay control; Relay state 
sensing. 

• The attached schematic shows the 
diagram for each area. Upper-left 
corner: relay state sensing; Upper- 
right corner: power supply; Middle: 
relay control; Bottom: dishwasher 
function. 



Step 2 

• For the next phase of the analysis I removed all of the unnecessary components from the 
PCB and attached an Arduino Pro Mini board by connecting: 

• The RAW and +5V signals to the corresponding power signals of the Arduino board, 

• The CONTROL signal to one of the digital outputs, 

• The SENSE signal to one of the analog inputs. 

• To aid in the development, I also connected a BluetoothMate module to the Arduino board. 
This way I could send commands and debugging data to and from my development PC. 

• CAUTION: Since the circuits that we are dealing with here are not isolated from the AC 
mains, it would likely be very unwise to attempt to make a wired connection from the 
Arduino board to a PC's serial port. 



© Make Projects 



www.makeprojects.com 



Page 2 of 4 



Electronic Timer for a Dishwasher 

Step 3 

• I soon found out that the current draw from the Arduino+Bluetooth was overloading the 
transformerless power supply of the AM486 module. However, simply increasing the value 
of C3 and choosing components for D2 and R8 with a suitably higher power dissipation 
rating solved the issue. 

• Through experimentation I determined that the relay can be reliably actuated by sending 4 
1-ms pulses evenly spaced over one powerline AC cycle. 

• The analog values read from the sensing circuit were like this: 

• OV if the relay switch is open and the load is disconnected; 

• Toggling between and 5V (in sync with the AC) if the relay switch is open but the load 
is connected; 

• 5V if the relay switch is closed regardless of whether the load is connected or not. Thus 
the final scheme adopted for sensing the state of the relay was to sample the analog 
input for about 2 powerline AC cycles and return the average value. 

• The final revision of the Arduino sketch used for analyzing the relay circuit behavior is in 
the "dishwasher1.pdf" attachment. 

Step 4 

• Once the circuits and basic control software have been identified, what remains is to 
harvest the necessary components from the AM486 modules, assemble them onto the 
project's circuit board, and write the Arduino sketch that controls the timing of the relays to 
emulate the operation of the electromechanical timer. 

• Clearly, because there are multiple functions to control in the dishwasher, the relay control 
and state sensing circuits have to be replicated that many times with each CONTROL or 
SENSE signal connected to a corresponding digital or analog pin on the Arduino board. 

• Luckily, the Arduino Pro Mini board is provisioned with enough digital and analog pins that 
one doesn't need to come up with any sharing schemes (such as using multiplexers). 

• The Arduino sketch used to control the dishwasher timer is contained in the attachment 
"dishwasher2.pdf" 



© Make Projects www.makeprojects.com Page 3 of 4 



Electronic Timer for a Dishwasher 



Step 5 




• Attachment of the electronic timer assembly to the dishwasher was straightforward: it fit 
nicely behind the front cover and the function wires along with the AC live and neutral were 
moved directly from the electromechanical timer to the terminals provided on the circuit 
board. 

This document was last generated on 2012-11-03 01 :12:21 AM. 



© Make Projects 



www.makeprojects.com 



Page 4 of 4